function service_adaptor(payload) {
    var list = [];
    payload.data.list.forEach(function (item) {
        let obj = {
            name: item.id,
            label: item.title,
            value: item.value,
            description: item.tips,
            type: {
                'input': 'input-text',
                'textarea': 'textarea',
                'array': 'array',
                'switch': 'switch',
                'radio': 'radios',
                'checkbox': 'checkboxes',
                'select': 'select',
                'hidden': 'hidden',
                'image': 'input-image',
                'file': 'input-file',
                'date': 'input-date',
                'datetime': 'input-datetime',
                'time': 'input-time'
            }[item.type]
        };
        if (['radios', 'checkbox', 'select'].indexOf(item.type) > -1) {
            let options = item.options.split('\n');
            obj.options = options.map(function (option) {
                return {label: option.split(':')[1], value: option.split(':')[0]}
            });
            Object.assign(obj, {type: obj.type === 'checkbox' ? 'checkboxes' : 'radios', options: obj.options});
        } else if (item.type === 'array') {
            Object.assign(obj, {
                'mode': 'horizontal',
                'type': 'input-array',
                'value': item.value.split(','),
                'scaffold': 0,
                'items': {'type': 'input-text', 'clearable': false}
            });
        } else if (item.type === 'switch') {
            let switchOptions = item.options.split('\n');
            let switchOptions1 = switchOptions[0].split(':');
            let switchOptions2 = switchOptions[1].split(':');
            Object.assign(obj, {
                type: 'switch',
                trueValue: switchOptions1[0],
                falseValue: switchOptions2[0],
                onText: switchOptions1[1],
                offText: switchOptions2[1]
            });
        } else if (item.type === 'image') {
            Object.assign(obj, {receiver: '/unify/Source/save'});
        } else if (item.type === 'file') {
            Object.assign(obj, {accept: '*', receiver: '/amis/api/upload/file'});
        }
        list.push(obj);
    });
    return {status: 0, data: list};
}


function form_adaptor(payload) {
    api.data = api.data.data
    return {
        ...api,
        data: {
            ...api.data, // 获取暴露的 api 中的 data 变量
            foo: 'bar' // 新添加数据
        }
    };
}